iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0

前言

今天的內容都在這個comit上哦
我不會細到講每一個步驟,如果看完不知道檔案要放那之顃,可以直接來看這個commit~
https://github.com/edwinlee1234/tomato/tree/be55823403dbcd38ef956f113cc7aaa2df95c3f4


環境

開發總需要有環境吧,下面這份是docker-compose的檔案
最簡單來說它會把
./frontend的檔案跟frontend這個container共用,當你進到container裡面就可以用images的環境來執行了(node:14.9.0)
後端的環境就是golang:1.15.1,檔案的位置在/go/src/code
下面有執行範例,會比較好懂

# docker-compose.yml
version: '2'

services:
  db:  # 資料庫之後會用到
    image: mysql:5.6
    ports:
        - "3306:3306"
    environment:
        - MYSQL_ROOT_PASSWORD=1234
    volumes:
        - ./mysql:/var/lib/mysql

  phpmyadmin: # 資料庫的圖形介面
    image: phpmyadmin/phpmyadmin:latest 
    ports:
        - "9000:80"
    links:
        - db
  redis: # 快取
    image: redis:latest
    ports:
        - "6379:6379"

  phpredisadmin: # 快取的圖形介面
    image: erikdubbelboer/phpredisadmin:latest
    ports:
        - "9300:80"
    environment:
        - ADMIN_USER=admin
        - ADMIN_PASS=admin
        - REDIS_1_HOST=redis
        - REDIS_1_PORT=6379
    links:
        - redis

  frontend: # 前端的環境
    image: node:14.9.0
    volumes:
        - ./frontend:/code # 本機的./fronted連通到container的/code
    command: tail -F anything
    ports:
        - "8080:8080" # 本機的8080跟container的8080做連接

  backend: # 後端的環境
    image: golang:1.15.1
    volumes:
        - .:/go/src/code
    command: tail -F anything
    ports:
        - "9090:9090"

先來寫一個Hello World

package main

import "fmt"

func main() {
	fmt.Println("Hello World")
}

啟動docker-compose

docker-compose up -d

看一下有沒有成功

docker ps

https://ithelp.ithome.com.tw/upload/images/20200910/20129767J4q0eZnVf2.png

進到docker container裡面

docker exec -it tomato_backend_1 bash

執行main.go 看看行不行

cd /go/src/code
go run main.go

開一個新的terminal,進到前端的container

docker exec -it tomato_frontend_1 bash

看一下node & npm的版號

node -v // v14.9.0
npm -v // 6.14.8

這樣環境就沒問題了!
不過正常在本機也會裝Golang,因為要用IDE的關係,如果本機沒裝IDE會讀不到references
執行程式的時侯才會進到container裡面

明天會講後端的專案結構
今天就到這!謝謝大家!


上一篇
Day3 開發流程、專案架構
下一篇
Day5 後端專案結構
系列文
Golang & Vue.js 30天從0打造服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言